package errors

// Error 错误
type Error struct {
	code       int
	message    string
	contextErr []error
}

// ThrowError 创建一个错误：message传入0个或多个string类型的
func ThrowError(code int, message ...string) *Error {
	var msg string
	if message != nil {
		msg = message[0]
	} else {
		msg = NewErrorMsg("zh_CN").Text(code)
	}
	return &Error{
		code:    code,
		message: msg,
	}
}
func (te *Error) GetCode() int {
	return te.code
}

func (te *Error) GetMessage() string {
	return te.message
}

func (te *Error) SetCode(code int) {
	te.code = code
}

func (te *Error) SetMessage(message string) {
	te.message = message
}

func (te *Error) SetContextErr(err error) {
	te.contextErr = append(te.contextErr, err)
}
